www.gusucode.com > Augsburg Biosignal Toolbox源码程序 > matlab代做 修改 程序Augsburg Biosignal Toolbox/程序与说明/程序与说明/数据/Augsburg大学原始数据及说明/matlab/func/aubt_getAmpl.m
function data_ = aubt_getAmpl (data) % Expects as input a periodical signal swinging % around the x-axis and calculates the value of each % maximum and minimum in the signal. The output % is a step signal which has the same length as % the input signal. % % data_ = getAmpl (data, hz) % % input: % data: a periodical signal swinging around the x-axis % % output: % data_: a step signal with the amplitudes % % 2005, Johannes Wagner <go.joe@gmx.de> data = abs (data); mind = not (logical (aubt_getMaxima (data))); data (mind) = 0; data_ = zeros (size (data)); i = 1; while data(i) == 0 i = i+1; end lastind = i; data_(1:lastind) = data(lastind); for j = i:length (data) if data(j) ~= 0 middle = floor (lastind + (j - lastind) / 2); data_(lastind:middle) = data(lastind); data_(middle+1:j) = data(j); lastind = j; end end data_(lastind:j) = data(lastind);